Highly reliable N module redundant (NMR) voting processors are a special class of processor which have been used for mission-critical applications for some time. These systems generally comprise multiple processor (N in number) that are all operating approximately synchronously; that is, each processor in system is operating on the same instruction and data at the same time. When the processors perform certain functions, for example, I/O, the data items that each of the processors are working on are compared in a special circuit, called a "voter," which determines whether all of the processors have the identical data item. For example, of the processors were performing an add and store function, the values that are stored are compared in the voter for conformity among the processors. If one (or more) of the values are different, then the value that the majority reports is selected and stored; and the odd value(s) is discarded. In some systems, the processor that does not have the same data value is removed from service. In this manner, a processor that has a "fault" does not affect the entire system.
A problem with the existing systems is that a faulty processor cannot be repaired and restored while the multiple processor system is running, because once a processor stops it cannot be restored to the same state as the other processors without stopping and restarting all processors. Each processor has its own memory, registers and peripheral states that are used for processor. All of the data (i.e., control, addresses, data and other information used by the system) in the active processors must be copied to the out-of-service processor. However, if the processors are operating, the data is constantly changing and the copy function cannot copy all the data fast enough to not disrupt operations. The purpose of such a multiprocessing system, however, is to have all processors performing the same instruction at approximately the same time with the sane data; thus, copying exactly the same data into the out-of-service processor is critical to reestablishing it.
As stated above, the only way to restore an NMR processor system is to shut it down, restore the faulty processor and restart the system. This method of repair is adequate (but not desirable) for mission-critical applications, when, after the mission is over, the system may be shut down and the faulty processor repaired. However, for applications requiting reliable processing at all times (such as nuclear power plants, air traffic control and telephone switching offices), such off-line repair is not adequate. Thus, NMRs cannot currently be used in such long-term reliability applications, even though their reliability is higher than the typical single redundant systems currently in use.
Therefore, a problem in the art is that there is no method for resynchronizing a NMR processor with other processors of the NMR system are actively processing.